/** 主入口js */
import Vue from 'vue'
import App from './App.vue'
import store from './store'
import router from './router'
import './config/axios-config'
import permission from './utils/permission'
import './utils/filter'
import './assets/styles/index.scss'
import EleAdmin from 'ele-admin'
import DialogDirective from 'ele-admin/packages/dialog-directive'
import VueClipboard from 'vue-clipboard2'
import i18n from './lang'
import TableList from '@/components/table-list'

Vue.component('TableList', TableList)
Vue.config.productionTip = false
Vue.use(EleAdmin, {
  response: {
    statusCode: 200,
    dataName: 'result.list',
    countName: 'result.count'
  },
  request: {
    limitName: 'Size',
    pageName: 'Page'
  },
  size: 'mini',
  i18n: (key, value) => i18n.t(key, value)
})
Vue.use(permission)
Vue.use(DialogDirective)
Vue.use(VueClipboard)

new Vue({
  router,
  store,
  i18n,
  render: h => h(App)
}).$mount('#app')
